sql command

Database SQL – ALTER TABLE

หลังจากที่เราได้สร้าง table จากคำสั่ง SQL Create table เรียบร้อยแล้ว บางครั้งเราอาจะต้องการปรับเปลี่ยนโครงสร้างของ table เช่น เพิ่ม ลบ หรือ แก้ไขข้อมูล column บน table ที่ได้สร้างไปแล้ว เราจะใช้คำสั่ง SQL ALTER TABLE ในการแก้ไขโครงสร้าง รวมถึงการเพิ่ม หรือ ลบ Constraint บน table ที่ใช้งานอยู่ปัจจุบัน

 

รูปแบบ (Syntax)

1. เพิ่ม column (Add Column)

ALTER TABLE table_name ADD column_name datatype;

 

2. ลบ column (Drop Column)

ALTER TABLE table_name DROP COLUMN column_name;

 

3. เปลี่ยน data type ของ column (Change Data Type)

ALTER TABLE table_name MODIFY COLUMN column_name datatype;

 

4. กำหนด NOT NULL ใน column (Add NOT NULL Constraint)

ALTER TABLE table_name MODIFY column_name datatype NOT NULL;

 

5. กำหนด Unique ใน column (Add UNIQUE Constraint)

ALTER TABLE table_name 
ADD CONSTRAINT MyUniqueConstraint UNIQUE(column1, column2...);

 

6. กำหนด Check เงือนไข column (Add CHECK Constraint)

ALTER TABLE table_name 
ADD CONSTRAINT MyUniqueConstraint CHECK (CONDITION);

 

7. กำหนด Primary Key (Add Primary Key Constraint)

ALTER TABLE table_name 
ADD CONSTRAINT MyPrimaryKey PRIMARY KEY (column1, column2...);

 

8. ลบ Constraint (Drop Constraint)

ALTER TABLE table_name 
DROP CONSTRAINT MyUniqueConstraint;

สำหรับ MySQL จะใช้ command ดังนี้แทน

ALTER TABLE table_name 
DROP INDEX MyUniqueConstraint;

 

9. ลบ Primart Key (Drop Primary Key)

ALTER TABLE table_name 
DROP CONSTRAINT MyPrimaryKey;

สำหรับ MySQL จะใช้ command ดังนี้แทน

ALTER TABLE table_name 
DROP PRIMARY KEY;

 

ตัวอย่างคำสั่ง ALTER TABLE

Table – CUSTOMERS

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

 

ทำการเพิ่ม column SEX ด้วย SQL ALTER TABLE

ALTER TABLE CUSTOMERS ADD SEX char(1);

ผลลัพธ์ที่ได้ จะพบว่า column SEX เพิ่มขึ้นมา

+----+---------+-----+-----------+----------+------+
| ID | NAME    | AGE | ADDRESS   | SALARY   | SEX  |
+----+---------+-----+-----------+----------+------+
|  1 | Ramesh  |  32 | Ahmedabad |  2000.00 | NULL |
|  2 | Ramesh  |  25 | Delhi     |  1500.00 | NULL |
|  3 | kaushik |  23 | Kota      |  2000.00 | NULL |
|  4 | kaushik |  25 | Mumbai    |  6500.00 | NULL |
|  5 | Hardik  |  27 | Bhopal    |  8500.00 | NULL |
|  6 | Komal   |  22 | MP        |  4500.00 | NULL |
|  7 | Muffy   |  24 | Indore    | 10000.00 | NULL |
+----+---------+-----+-----------+----------+------+

 

ทำการลบ column SEX ด้วย SQL ALTER TABLE

ALTER TABLE CUSTOMERS DROP SEX;

ผลลัพธ์ที่ได้ จะพบว่า column SEX ถูกลบออก

+----+---------+-----+-----------+----------+
| ID | NAME    | AGE | ADDRESS   | SALARY   |
+----+---------+-----+-----------+----------+
|  1 | Ramesh  |  32 | Ahmedabad |  2000.00 |
|  2 | Ramesh  |  25 | Delhi     |  1500.00 |
|  3 | kaushik |  23 | Kota      |  2000.00 |
|  4 | kaushik |  25 | Mumbai    |  6500.00 |
|  5 | Hardik  |  27 | Bhopal    |  8500.00 |
|  6 | Komal   |  22 | MP        |  4500.00 |
|  7 | Muffy   |  24 | Indore    | 10000.00 |
+----+---------+-----+-----------+----------+

 

 

 

Reference:

รวมคำสั่ง SQL Command พื้นฐานเบื้องต้น

Database, Oracle, MySQL

 

 

Author: Suphakit Annoppornchai

Credit: https://saixiii.com, https://www.tutorialspoint.com

Leave a Reply